<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JSON Voorhees: jsonv::detail::generic_container&lt; TStorage &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async src="http://www.mathjax.org/mathjax/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JSON Voorhees
   </div>
   <div id="projectbrief">Killer JSON for C++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classjsonv_1_1detail_1_1generic__container.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classjsonv_1_1detail_1_1generic__container-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">jsonv::detail::generic_container&lt; TStorage &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A generic container that exposes the traversal and modification operations externally.  
 <a href="classjsonv_1_1detail_1_1generic__container.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="generic__container_8hpp_source.html">jsonv/detail/generic_container.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:abb1398f0dabc354939fde142f0cafddb"><td class="memItemLeft" align="right" valign="top"><a id="abb1398f0dabc354939fde142f0cafddb"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>storage_type</b> = TStorage</td></tr>
<tr class="separator:abb1398f0dabc354939fde142f0cafddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1edafd7da8823e6936e73ca90ed88f3"><td class="memItemLeft" align="right" valign="top"><a id="ae1edafd7da8823e6936e73ca90ed88f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = typename storage_type::size_type</td></tr>
<tr class="separator:ae1edafd7da8823e6936e73ca90ed88f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c58246f78de07322c73e51ea992d3b9"><td class="memItemLeft" align="right" valign="top"><a id="a7c58246f78de07322c73e51ea992d3b9"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>value_type</b> = typename storage_type::value_type</td></tr>
<tr class="separator:a7c58246f78de07322c73e51ea992d3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ec9cb88951987d4440e3f61f26e4dd5"><td class="memItemLeft" align="right" valign="top"><a id="a3ec9cb88951987d4440e3f61f26e4dd5"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b> = typename storage_type::difference_type</td></tr>
<tr class="separator:a3ec9cb88951987d4440e3f61f26e4dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5399d89529eb36ff6c81e9a14cb2189e"><td class="memItemLeft" align="right" valign="top"><a id="a5399d89529eb36ff6c81e9a14cb2189e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b> = typename storage_type::iterator</td></tr>
<tr class="separator:a5399d89529eb36ff6c81e9a14cb2189e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adacef41234b3e96ade3cb3f39e774af3"><td class="memItemLeft" align="right" valign="top"><a id="adacef41234b3e96ade3cb3f39e774af3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b> = typename storage_type::const_iterator</td></tr>
<tr class="separator:adacef41234b3e96ade3cb3f39e774af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56845faa18a9857875329aa83db6323f"><td class="memItemLeft" align="right" valign="top"><a id="a56845faa18a9857875329aa83db6323f"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>reverse_iterator</b> = typename storage_type::reverse_iterator</td></tr>
<tr class="separator:a56845faa18a9857875329aa83db6323f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bc95327363567be7da1e44524830007"><td class="memItemLeft" align="right" valign="top"><a id="a2bc95327363567be7da1e44524830007"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator</b> = typename storage_type::const_reverse_iterator</td></tr>
<tr class="separator:a2bc95327363567be7da1e44524830007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a934129171c0ebdc6ebcfdd398d78c8da"><td class="memItemLeft" align="right" valign="top"><a id="a934129171c0ebdc6ebcfdd398d78c8da"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>reference</b> = typename storage_type::reference</td></tr>
<tr class="separator:a934129171c0ebdc6ebcfdd398d78c8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaeeb4c33452e5dc6bdf8c89deda70a7"><td class="memItemLeft" align="right" valign="top"><a id="afaeeb4c33452e5dc6bdf8c89deda70a7"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_reference</b> = typename storage_type::const_reference</td></tr>
<tr class="separator:afaeeb4c33452e5dc6bdf8c89deda70a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25d081d0ea2b55f7e70cf7b1e9bc758b"><td class="memItemLeft" align="right" valign="top"><a id="a25d081d0ea2b55f7e70cf7b1e9bc758b"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>pointer</b> = typename storage_type::pointer</td></tr>
<tr class="separator:a25d081d0ea2b55f7e70cf7b1e9bc758b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a788584bb234100ec355cc20a37bff"><td class="memItemLeft" align="right" valign="top"><a id="a59a788584bb234100ec355cc20a37bff"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b> = typename storage_type::const_pointer</td></tr>
<tr class="separator:a59a788584bb234100ec355cc20a37bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6327694e2c3e843964bf1f57ea1c3a86"><td class="memItemLeft" align="right" valign="top"><a id="a6327694e2c3e843964bf1f57ea1c3a86"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>allocator_type</b> = typename storage_type::allocator_type</td></tr>
<tr class="separator:a6327694e2c3e843964bf1f57ea1c3a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abdbe51d6859acfac14a1f766980db216"><td class="memItemLeft" align="right" valign="top"><a id="abdbe51d6859acfac14a1f766980db216"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>generic_container</b> (storage_type data)</td></tr>
<tr class="separator:abdbe51d6859acfac14a1f766980db216"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abef1030f5e7a03d229fbb2a5a6b848b3"><td class="memTemplParams" colspan="2"><a id="abef1030f5e7a03d229fbb2a5a6b848b3"></a>
template&lt;typename TInputIterator &gt; </td></tr>
<tr class="memitem:abef1030f5e7a03d229fbb2a5a6b848b3"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>generic_container</b> (TInputIterator first, TInputIterator last)</td></tr>
<tr class="separator:abef1030f5e7a03d229fbb2a5a6b848b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b65e78857d9a5c5b3172fbb9222ccb6"><td class="memItemLeft" align="right" valign="top"><a id="a8b65e78857d9a5c5b3172fbb9222ccb6"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>generic_container</b> (const <a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;)=default</td></tr>
<tr class="separator:a8b65e78857d9a5c5b3172fbb9222ccb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad58cd0e18761e8062e45f6e91c40794d"><td class="memItemLeft" align="right" valign="top"><a id="ad58cd0e18761e8062e45f6e91c40794d"></a>
<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;)=default</td></tr>
<tr class="separator:ad58cd0e18761e8062e45f6e91c40794d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cadd9e5da76afb97f89823061a110d"><td class="memItemLeft" align="right" valign="top"><a id="a28cadd9e5da76afb97f89823061a110d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>generic_container</b> (<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a28cadd9e5da76afb97f89823061a110d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a278b8617b396cb82e23bc72e6ec315ce"><td class="memItemLeft" align="right" valign="top"><a id="a278b8617b396cb82e23bc72e6ec315ce"></a>
<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a278b8617b396cb82e23bc72e6ec315ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c95840549aed137f1cb11655e7e2622"><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1detail_1_1generic__container.html#a5c95840549aed137f1cb11655e7e2622">size</a> () const</td></tr>
<tr class="memdesc:a5c95840549aed137f1cb11655e7e2622"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of elements.  <a href="#a5c95840549aed137f1cb11655e7e2622">More...</a><br /></td></tr>
<tr class="separator:a5c95840549aed137f1cb11655e7e2622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff75d21bc74604748afeaf828dcc456b"><td class="memItemLeft" align="right" valign="top"><a id="aff75d21bc74604748afeaf828dcc456b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>empty</b> () const</td></tr>
<tr class="separator:aff75d21bc74604748afeaf828dcc456b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a630ea81e5d7a91a2611b36accf1c0161"><td class="memItemLeft" align="right" valign="top"><a id="a630ea81e5d7a91a2611b36accf1c0161"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
<tr class="separator:a630ea81e5d7a91a2611b36accf1c0161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f806c9cf4ecb0fccc534ab4daa7f876"><td class="memItemLeft" align="right" valign="top"><a id="a4f806c9cf4ecb0fccc534ab4daa7f876"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> () const</td></tr>
<tr class="separator:a4f806c9cf4ecb0fccc534ab4daa7f876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d811ce7cd562ee824540ec2e10cb8bc"><td class="memItemLeft" align="right" valign="top"><a id="a2d811ce7cd562ee824540ec2e10cb8bc"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>cbegin</b> () const</td></tr>
<tr class="separator:a2d811ce7cd562ee824540ec2e10cb8bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a821ccf802eb99fe66f9bda4f7c34520f"><td class="memItemLeft" align="right" valign="top"><a id="a821ccf802eb99fe66f9bda4f7c34520f"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
<tr class="separator:a821ccf802eb99fe66f9bda4f7c34520f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afde47297b6bcec7973955185821ae83c"><td class="memItemLeft" align="right" valign="top"><a id="afde47297b6bcec7973955185821ae83c"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> () const</td></tr>
<tr class="separator:afde47297b6bcec7973955185821ae83c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab40a3b8b0423f8e86d04bbb601af964"><td class="memItemLeft" align="right" valign="top"><a id="aab40a3b8b0423f8e86d04bbb601af964"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>cend</b> () const</td></tr>
<tr class="separator:aab40a3b8b0423f8e86d04bbb601af964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d9cced8f249a3bc3b62cd30cc40abab"><td class="memItemLeft" align="right" valign="top"><a id="a9d9cced8f249a3bc3b62cd30cc40abab"></a>
reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rbegin</b> ()</td></tr>
<tr class="separator:a9d9cced8f249a3bc3b62cd30cc40abab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e1695522504293e18384e09299f0394"><td class="memItemLeft" align="right" valign="top"><a id="a6e1695522504293e18384e09299f0394"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rbegin</b> () const</td></tr>
<tr class="separator:a6e1695522504293e18384e09299f0394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ed515cee840f4fa2be49908e0887ba0"><td class="memItemLeft" align="right" valign="top"><a id="a0ed515cee840f4fa2be49908e0887ba0"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>crbegin</b> () const</td></tr>
<tr class="separator:a0ed515cee840f4fa2be49908e0887ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a60a58684caf39ef7014b98a0b9b296"><td class="memItemLeft" align="right" valign="top"><a id="a2a60a58684caf39ef7014b98a0b9b296"></a>
reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rend</b> ()</td></tr>
<tr class="separator:a2a60a58684caf39ef7014b98a0b9b296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80f8c2dc3fb5ed0d9c97e62e93b86f6a"><td class="memItemLeft" align="right" valign="top"><a id="a80f8c2dc3fb5ed0d9c97e62e93b86f6a"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rend</b> () const</td></tr>
<tr class="separator:a80f8c2dc3fb5ed0d9c97e62e93b86f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b6f1a027348007055417f5764a62f01"><td class="memItemLeft" align="right" valign="top"><a id="a9b6f1a027348007055417f5764a62f01"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>crend</b> () const</td></tr>
<tr class="separator:a9b6f1a027348007055417f5764a62f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e20447249ff850b2987485cac268f0d"><td class="memItemLeft" align="right" valign="top"><a id="a3e20447249ff850b2987485cac268f0d"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (size_type idx)</td></tr>
<tr class="separator:a3e20447249ff850b2987485cac268f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae334a0ce9e83c26368fc5330a8e61b"><td class="memItemLeft" align="right" valign="top"><a id="a8ae334a0ce9e83c26368fc5330a8e61b"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (size_type idx) const</td></tr>
<tr class="separator:a8ae334a0ce9e83c26368fc5330a8e61b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bef1ce6e87127577f70f6c5b29d6b0c"><td class="memItemLeft" align="right" valign="top"><a id="a6bef1ce6e87127577f70f6c5b29d6b0c"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (size_type idx)</td></tr>
<tr class="separator:a6bef1ce6e87127577f70f6c5b29d6b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f276afd6b055dfa2cb4a96afb6be94a"><td class="memItemLeft" align="right" valign="top"><a id="a3f276afd6b055dfa2cb4a96afb6be94a"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (size_type idx) const</td></tr>
<tr class="separator:a3f276afd6b055dfa2cb4a96afb6be94a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58dedac867cacc0dcdeea5f62decfad3"><td class="memItemLeft" align="right" valign="top"><a id="a58dedac867cacc0dcdeea5f62decfad3"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>front</b> ()</td></tr>
<tr class="separator:a58dedac867cacc0dcdeea5f62decfad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2fda3373199d7025fadfa50c3d43454"><td class="memItemLeft" align="right" valign="top"><a id="ac2fda3373199d7025fadfa50c3d43454"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>front</b> () const</td></tr>
<tr class="separator:ac2fda3373199d7025fadfa50c3d43454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bf8d643669bd717e0a09a53ce6d1c02"><td class="memItemLeft" align="right" valign="top"><a id="a8bf8d643669bd717e0a09a53ce6d1c02"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>back</b> ()</td></tr>
<tr class="separator:a8bf8d643669bd717e0a09a53ce6d1c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a261f2c1e1709fcd3f3d46037d84635ad"><td class="memItemLeft" align="right" valign="top"><a id="a261f2c1e1709fcd3f3d46037d84635ad"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>back</b> () const</td></tr>
<tr class="separator:a261f2c1e1709fcd3f3d46037d84635ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab48fa2cd726eeb5c52757e03e9c132a4"><td class="memItemLeft" align="right" valign="top"><a id="ab48fa2cd726eeb5c52757e03e9c132a4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:ab48fa2cd726eeb5c52757e03e9c132a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53b7daf6e3ce22c06620511cd26e798c"><td class="memItemLeft" align="right" valign="top"><a id="a53b7daf6e3ce22c06620511cd26e798c"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator pos, const value_type &amp;x)</td></tr>
<tr class="separator:a53b7daf6e3ce22c06620511cd26e798c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868a0393ea96ff1aeccd9baf643bc112"><td class="memItemLeft" align="right" valign="top"><a id="a868a0393ea96ff1aeccd9baf643bc112"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator pos, value_type &amp;&amp;x)</td></tr>
<tr class="separator:a868a0393ea96ff1aeccd9baf643bc112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a22e15975e7ce0a139090e17c73f886"><td class="memTemplParams" colspan="2"><a id="a7a22e15975e7ce0a139090e17c73f886"></a>
template&lt;typename TInputIterator &gt; </td></tr>
<tr class="memitem:a7a22e15975e7ce0a139090e17c73f886"><td class="memTemplItemLeft" align="right" valign="top">iterator&#160;</td><td class="memTemplItemRight" valign="bottom"><b>insert</b> (const_iterator pos, TInputIterator first, TInputIterator last)</td></tr>
<tr class="separator:a7a22e15975e7ce0a139090e17c73f886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70362ca078643261b1b1d359af54334"><td class="memItemLeft" align="right" valign="top"><a id="ae70362ca078643261b1b1d359af54334"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator pos, std::initializer_list&lt; value_type &gt; ilist)</td></tr>
<tr class="separator:ae70362ca078643261b1b1d359af54334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a980b44baaf1987b6222b0c0c96a6da4e"><td class="memTemplParams" colspan="2"><a id="a980b44baaf1987b6222b0c0c96a6da4e"></a>
template&lt;typename... TArgs&gt; </td></tr>
<tr class="memitem:a980b44baaf1987b6222b0c0c96a6da4e"><td class="memTemplItemLeft" align="right" valign="top">iterator&#160;</td><td class="memTemplItemRight" valign="bottom"><b>emplace</b> (const_iterator pos, TArgs &amp;&amp;... args)</td></tr>
<tr class="separator:a980b44baaf1987b6222b0c0c96a6da4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5435c1777c6aad1e9a074870920abbc1"><td class="memTemplParams" colspan="2"><a id="a5435c1777c6aad1e9a074870920abbc1"></a>
template&lt;typename... TArgs&gt; </td></tr>
<tr class="memitem:a5435c1777c6aad1e9a074870920abbc1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>emplace_back</b> (TArgs &amp;&amp;... args)</td></tr>
<tr class="separator:a5435c1777c6aad1e9a074870920abbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a779631a16fff1854989742d898d36f7a"><td class="memItemLeft" align="right" valign="top"><a id="a779631a16fff1854989742d898d36f7a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>push_back</b> (const value_type &amp;x)</td></tr>
<tr class="separator:a779631a16fff1854989742d898d36f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd2f25b8cd68b31aeab7d41699fe6c9"><td class="memItemLeft" align="right" valign="top"><a id="a3cd2f25b8cd68b31aeab7d41699fe6c9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>push_back</b> (value_type &amp;&amp;x)</td></tr>
<tr class="separator:a3cd2f25b8cd68b31aeab7d41699fe6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e56b114feca59a414eca10576116434"><td class="memItemLeft" align="right" valign="top"><a id="a3e56b114feca59a414eca10576116434"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>erase</b> (const_iterator pos)</td></tr>
<tr class="separator:a3e56b114feca59a414eca10576116434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17216fa20f8a4c0e2bcc1c852775c6f5"><td class="memItemLeft" align="right" valign="top"><a id="a17216fa20f8a4c0e2bcc1c852775c6f5"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>erase</b> (const_iterator first, const_iterator last)</td></tr>
<tr class="separator:a17216fa20f8a4c0e2bcc1c852775c6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e9850882f2bf88ea25bd0119945e3b2"><td class="memItemLeft" align="right" valign="top"><a id="a1e9850882f2bf88ea25bd0119945e3b2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>pop_back</b> ()</td></tr>
<tr class="separator:a1e9850882f2bf88ea25bd0119945e3b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aa8c86f6f3208814657f190d43b045fd9"><td class="memItemLeft" align="right" valign="top"><a id="aa8c86f6f3208814657f190d43b045fd9"></a>
storage_type&#160;</td><td class="memItemRight" valign="bottom"><b>_data</b></td></tr>
<tr class="separator:aa8c86f6f3208814657f190d43b045fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename TStorage&gt;<br />
class jsonv::detail::generic_container&lt; TStorage &gt;</h3>

<p>A generic container that exposes the traversal and modification operations externally. </p>
<p>Basically, this is just a way to allow deriving from <code>std::vector</code> without actually doing so. </p>

<p class="definition">Definition at line <a class="el" href="generic__container_8hpp_source.html#l00029">29</a> of file <a class="el" href="generic__container_8hpp_source.html">generic_container.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a5c95840549aed137f1cb11655e7e2622"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c95840549aed137f1cb11655e7e2622">&#9670;&nbsp;</a></span>size()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TStorage&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classjsonv_1_1detail_1_1generic__container.html">jsonv::detail::generic_container</a>&lt; TStorage &gt;::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the number of elements. </p>

<p class="definition">Definition at line <a class="el" href="generic__container_8hpp_source.html#l00065">65</a> of file <a class="el" href="generic__container_8hpp_source.html">generic_container.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>jsonv/detail/<a class="el" href="generic__container_8hpp_source.html">generic_container.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>jsonv</b></li><li class="navelem"><b>detail</b></li><li class="navelem"><a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
